package com.xbongbong.pro.statistic.result.pojo;

import com.xbongbong.sys.domain.entity.DepartmentEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 员工/部门pk需要的参数pojo
 * @author zcp
 * @version v1.0
 * @date 2019/3/12 16:27
 * @since v1.0
 */
@Getter
@Setter
@ToString
public class ChartPkParamPojo implements Serializable {
    private static final long serialVersionUID = 7448687254573423330L;

    /**
     * 所有下属
     */
    private List<String> userIdIn;
    /**
     * 要显示的员工list--选择的员工--全公司or某个部门的员工
     */
    private List<String> checkUserIdIn;
    /**
     * 要显示的部门list
     */
    private List<DepartmentEntity> departmentList;
    /**
     * userId--员工姓名
     */
    private Map<String, String> nameUserMap;
    /**
     * userId--员工头像
     */
    private Map<String, String> avatarUserMap;
    /**
     * userId---员工业务总int型数量
     */
    private Map<String, Integer> countUserMap;
    /**
     * userId---员工业务总double型数量
     */
    private Map<String, Double> amountUserMap;
    /**
     * 部门id---部门名称（无部门则key = 1L）
     */
    private Map<Long, String> nameDepMap;
    /**
     * userId---所属部门id列表（无部门则value = [1L]）
     */
    private Map<String, Set<Long>> userDepSetMap;
    /**
     * 部门id---部门员工id列表（无部门则key = [1L]）
     */
    private Map<Long, Set<String>> depUsersMap;

    /**
     * 部门id---部门总业务总int型数量
     */
    private Map<Long, Integer> countDepMap;
    /**
     * 部门id---部门总业务总double型数量
     */
    private Map<Long, Double> amountDepMap;
    /**
     * 每个桶的数据总条数
     */
    private Map<String, Integer> docCountMap;
}
